/*
 * Created by SharpDevelop.
 * User: rkeeter
 * Date: 6/25/2008
 * Time: 11:35 AM
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */

using System;
using MagicApp.Data;

namespace MagicApp.Services
{
	/// <summary>
	/// Description of IDeckEngine.
	/// </summary>
	public interface IDeckEngine
	{
		void CreateNewDeck(string deckName);
		void CreateNewDeck(string deckName, string defaultDeck);
		bool SaveCurrentDeck();
		void AddToCurrentDeck(Card card);
		void DeleteFromCurrentDeck(Card card, int quantity);
		void DeleteFromCurrentDeck(Card card);
		Deck GetCurrentlyEditedDeck();
		void DeleteCurrentDeck();
		bool DeckExists(string deckName);
		Deck GetDeck(string deckName);
		Deck GetDeck(int deckID);
		Deck GetDeck(DateTime creationDate);
		Card DrawFromCurrentDeck();
		void PopulateHand();
		Hand GetCurrentHand();
	}
}
